不知不覺的開始我自己的鐵人賽挑戰第六天了,雖然離30天還有很長的一段路XD,但往個不同的角度想我居然完成了五分之一了呢哈哈哈,那我們來回歸正題在剛開始PyTorch時由提及到張量這一個概念(Day 04 - 張量的介紹與操作),這那邊我們有說到張量是用來作為儲存後續要用來進行神經網路運算之浮點數,一個類似於容器的存在,但我們在前兩天的學習筆記中提到處理圖片完後存入張量的數值都是正整數,而要進行神經網路的運算就必須要將其換為浮點數,接下來我主要要說明兩種轉換的方法正規化
與標準化
.
圖片資訊要轉換為浮點數非常的容易,但要是想要輸入資料的範圍介於0到1之間,以單一像素在0至255之間為例,將像素值都除以255,便能得到介於0到1的浮點數.當然這並不是唯一的方法,但應該是相對快速的方法.
由於先前所得到的圖片資料是正整數,要運算出具有浮點數的值,必須要先將正整數轉化為浮點數的形式
(例如:234→234.0).
標準化的部分在網路上其他資料中有提到兩個主要的優點:
對於圖片資料進行標準化的方式類似於Z分數的概念,先計算出圖片資料的平均值與標準差,在調整資料的大小,使每種色彩通道的平均值為0,標準差為1.
其實高中時就有跟標準差,平均值,Z分數這些常常運用在神經網路計算上的統計相關數學,有著不算是頻率太低的接觸,但當時在學習時並沒有認為除了在做分布圖之外,還會有什麼很重要的發展會和它們有關,直到初步的學習關於人工智慧的相關邏輯後,才終於明白高中時所學的統計有多麼重要.